Hardware for rendering three-dimensional graphics accepts input that specifies primitives to be drawn to a screen. At least part of this input includes indices that refer to vertices that specify the shape, location, and attributes of a primitive. These indices typically need to be converted from a user-provided format to a format that is more suitable for use on graphics hardware. Graphics hardware is typically massively parallel because the act of rendering involves large numbers of similar but independent operations (e.g., calculating color values for different pixels, transforming positions of different vertices, or the like). To be able to provide the massively parallel processing units with sufficient load to be highly utilized, the input indices should be processed quickly and efficiently.